<%@ Application Language="C#" %>
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Threading" %>

<script runat="server">
    private TaskScheduler _scheduler = new TaskScheduler();
  
    void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup
        this._scheduler.StartTask();
    }
    
    void Application_End(object sender, EventArgs e) 
    {
        //  Code that runs on application shutdown
        this._scheduler.StopTask();
    }
        
    void Application_Error(object sender, EventArgs e) 
    { 
        // Code that runs when an unhandled error occurs

    }

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started

    }

    void Session_End(object sender, EventArgs e) 
    {
        // Code that runs when a session ends. 
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer 
        // or SQLServer, the event is not raised.

    }

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        string lang;
        HttpCookie langCookie = Request.Cookies["Language"];

        if (langCookie != null && langCookie.Value != string.Empty)
        {
            try
            {
                lang = langCookie.Value;
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
            }
            catch (System.Exception ex)
            {
            
            }
          
        }
    }
</script>
